1. Field of the Invention
The present invention is directed to a system and method for performing a multi-file transfer operation where several files are transferred from a random access storage device to a media such an optical disk and, more particularly, to a system which reduces the number of write operations to the media by storing portions of files of the same type in ring buffers until sufficient information is stored to transfer the contents of the ring buffer to the disk.
2. Description of the Related Art
Conventional multi-file transfers are accomplished in one of two ways. During archival or backup operations in which multiple files from a hard magnetic disk are transferred to magnetic tape, a file transfer utility program reads the information describing the file (file attribute information), transfers this information to the tape and then reads the contents of the file and transfers this to the tape. If the information describing the file is divided into sections and these sections are located at different physical locations on the disk, which is a common occurrence, multiple reads and multiple writes must be performed. During this transfer operation the method for accessing the files is converted from random to sequential due to the storage characteristics of the magnetic tape, thereby severely limiting the ability of the user to recover the file from the tape in a timely fashion if needed.
In multi-file transfer operations in which the files are being transferred from one hard magnetic disk (the source) to another hard disk (the destination), as illustrated in FIG. 1, the multiple read-multiple write sequence mentioned above also occurs. In such a prior art system, the computer 10, such as a Digital Equipment Corporation (DEC) VAX computer running the VIRTUAL MEMORY SYSTEM (VMS) operating system, is commanded by a user to transfer the contents of a source disk 20 to a destination disk 22. The operation is controlled by a file transfer utility 12 (such as the BACKUP or COPY utility of VMS) which issues a transfer command to the operating system 14. The operating system 14 has a file system 16 (such as the XQP Ancillary Control Processor of VMS) which is a generic system capable of controlling transfers between various types of media. The file system 16 controls driver systems 18 which are dedicated to a particular type media to accomplish the transfer.
When either a copy or backup utility command is executed, four distinct pieces of information must be obtained from different portions of a source disk 20 and transferred to corresponding portions of a destination disk 22 after which the portions of the destination disk 22 which have been written must be flagged as "in use" or "allocated" which is a fifth indicator or piece of information for each file. The DEC-VMS operating system stores a file using these five parts. Other operating systems such as IBM-DOS, UNIX and AEGIS store the information in at least three parts.
In the DEC-VMS operating system the four pieces of information transferred are a directory header, a directory itself referenced by the directory header, a file header and the contents of the file referenced by the file header. During such a transfer, the source disk 20 is accessed to obtain the directory header which is then written onto the destination disk 22 in a corresponding location in a file called the index file. Next the directory pointed to by the directory header is retrieved from the source disk 20 and written on the destination disk 22 in a corresponding location. Then, the file header pointed to by the directory for the file being transferred is retrieved from the source disk 20 and written in a corresponding location in the index file on the destination disk 22. The last retrieval from the source disk 20 retrieves the contents of the file designated by the header which is then written onto the destination disk 22 in a corresponding location. The last operation associated with this file is to update the corresponding flag bits in an allocation control list on the destination disk 22 to indicate that the portions written have been allocated or in use. For each file moved in a DEC-VMS system four read operations and five write operations must be performed.
Most computer users store valuable information in their computer that requires that a backup copy be kept in a safe place to protect against fire of the computer site, a computer malfunction or other disaster that can destroy the information. Until the availability of erasable optical disks, users had only four options for making backup copies.
The first is creating the backup copy using magnetic tape. This type of backup copy provides satisfactory capacity and site removability at an acceptable cost but does not provide rapid access to the information because the mechanical drive is slow and the access method is serial rather than random. In addition, the tape and tape drives are not particularly reliable. The second option is to use floppy disks. This storage media provides removable random access capability at an acceptable price but is too small in capacity for large scale backup operations and has a slow access speed because of the low rotation rate of the disks. The third option is a backup on a removable hard disk. This option provides good removable random access capacity and reliability at an acceptable speed, however, the cost is very high because the removable assembly contains the head and mechanical and electrical components for head control. The final option is write-once optical disks. This media provides acceptable capacity, reliability and speed along with removability and random access capability at a high price because the media cannot be reused. The most popular option is the tape backup method with the vast majority of backup copies being made on tape and floppy disks.
The programs used to transfer the information onto the backup copy is designed mainly for use with tapes and floppy disks. Because the media is slow the backup software is also slow. High speed backup operations are not possible because of the limitations of the tape or floppy disk drives and media.
A prior art disk write method which is not used for back-up or multi-file transfer operations, is generally called a disk cache method and is used for enhancing the speed of access to disk file contents. In this disk access method, an image or exact duplicate of the contents of the disk 22 which are most frequently accessed is maintained in the random access memory (RAM) of the computer 10. Whenever a write operation by an application program occurs the data are written into the image location in the RAM. Whenever the data need to be retrieved the location in the image is accessed. Periodically in some of these systems, for example every five to ten seconds, the operating system performs a write operation which transfers the contents of a disk image onto the disk 22, so that the disk is updated with any changes that have occurred since the last disk write. Some of these types of systems maintain a change list which indicates which portions of the disk image have been changed and only those image portions which have been changed are written out onto the physical disk. The disk cache method speeds disk operations when the disk is used for a random mixture of read and write operations but provides no benefits in a multi-file write operation where data flow is in one direction and the vast majority of the data (file contents) ar accessed only once.
The need for faster backup software has arisen because of the advent of erasable optical disk storage systems. The present invention is a novel multi-buffering method designed for performing multi-file write operations quickly and making a backup copy is an example of a multi-file write operation.